/**
 * - 作者: DoooReyn
 * - 日期: 2023.10.31
 */

import { Asset } from 'cc';
import type { ConstructorOf } from '../../../../wing/assets/src';

/** 待加载的资源信息 */
export interface LoadItem<T extends Asset> {
    /** bundle 名称（可选，默认 `resources`） */
    bundle?: string;
    /** 资源路径 */
    path: string;
    /** 资源类型 */
    type: ConstructorOf<T>;
}

/** 待加载的资源列表信息 */
export interface LoadItems<T extends Asset> {
    /** bundle 名称（可选，默认 `resources`） */
    bundle?: string;
    /** 资源路径 */
    paths: string[];
    /** 资源类型 */
    type: ConstructorOf<T>;
}

/** 按顺序待加载的资源信息 */
export interface LoadItemOneByOne {
    /** bundle 名称（可选，默认 `resources`） */
    bundle?: string;
    /** 资源路径 */
    path: string;
    /** 资源类型 */
    type: ConstructorOf<Asset>;
}
